Information processing apparatus, system, display method, and non-transitory computer-readable storage medium storing program

ABSTRACT

An information processing apparatus comprises: a first display unit configured to display a preview screen including a preview image based on page data included in book data; a setting unit configured to set a spread attribute for laying out one page data included in the book data over a plurality of pages; and a display unit configured to display, if the page data set with the spread attribute does not satisfy a spread condition, information indicating that the spread condition is not satisfied in association with a preview image based on the page data set with the spread attribute together with the preview image based on the page data set with the spread attribute.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to an information processing apparatuscapable of creating book data, a system, a display method, and anon-transitory computer-readable storage medium storing a program.

Description of the Related Art

There has conventionally been known a technique of performingbookbinding such as stapling or the like by allocating image data toeach page. Japanese Patent No. 4771491 describes print processing ofexecuting bookbinding printing based on a plurality of contents.Japanese Patent No. 4771491 also describes a technique of determining,in accordance with a content sheet size, whether content data is to belaid out in a double-page spread.

According to Japanese Patent No. 4771491, if it is determined thatcontent data is not to be laid out in a double-page spread, a warningthat intended printing may not be executed is displayed. Referring toFIG. 18 in Japanese Patent No. 4771491, a warning is displayed for acontent that may not undergo intended printing.

However, if a spread fails when page data is allocated to be printed onthe front and back surfaces of one sheet, even if a warning is simplydisplayed on a list of contents, it is difficult to intuitionally grasppages where the spread fails.

SUMMARY OF THE INVENTION

An aspect of the present invention is to eliminate the above-mentionedproblems with the conventional technology. The present inventionprovides an information processing apparatus that allows easyrecognition of a failure of a spread, a system, a display method, and anon-transitory computer-readable storage medium storing a program.

The present invention in one aspect provides an information processingapparatus comprising: a first display unit configured to display apreview screen including a preview image based on page data included inbook data; a setting unit configured to set a spread attribute forlaying out one page data included in the book data over a plurality ofpages; and a display unit configured to display, if the page data setwith the spread attribute does not satisfy a spread condition,information indicating that the spread condition is not satisfied inassociation with a preview image based on the page data set with thespread attribute together with the preview image based on the page dataset with the spread attribute.

According to the present invention, it is possible to readily recognizea failure of a spread.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an example of a system arrangement andexamples of the hardware arrangements of apparatuses;

FIG. 2 is a block diagram showing an example of the software arrangementof the information processing apparatus;

FIG. 3 is a view showing an example of the basic setting screen of abookbinding application;

FIG. 4 is a view showing an example of an edit screen in the bookbindingapplication;

FIG. 5 is a view showing an example of the edit screen in thebookbinding application;

FIG. 6 is a view showing an example of the edit screen in thebookbinding application;

FIG. 7 is a view showing an example of the edit screen in thebookbinding application;

FIG. 8 is a view showing an example of the edit screen in thebookbinding application;

FIG. 9 is a view showing an example of the edit screen in thebookbinding application;

FIG. 10 is a flowchart illustrating spread layout determinationprocessing;

FIG. 11 is a flowchart illustrating control processing based on a spreadlayout determination result;

FIG. 12 is a view showing a warning screen;

FIG. 13 is a view showing a warning screen;

FIG. 14 is a view showing an arrangement of controlling execution ofprinting;

FIG. 15 is a flowchart illustrating spread layout determinationprocessing;

FIG. 16 is a flowchart illustrating control processing based on a spreadlayout determination result; and

FIGS. 17A to 17C are views for explaining page addition to resolve afailure of a spread.

DESCRIPTION OF THE EMBODIMENTS

Preferred embodiments of the present invention will now be describedhereinafter in detail, with reference to the accompanying drawings. Itis to be understood that the following embodiments are not intended tolimit the claims of the present invention, and that not all of thecombinations of the aspects that are described according to thefollowing embodiments are necessarily required with respect to the meansto solve the problems according to the present invention. Note that thesame reference numerals denote the same constituent elements and adescription thereof will be omitted.

(System and Apparatus Arrangements)

An example of a system arrangement according to this embodiment will bedescribed with reference to FIG. 1. This system includes an informationprocessing apparatus 101 and a printing apparatus 151, and executesprint processing by transmitting print data prepared by the informationprocessing apparatus 101 to the printing apparatus 151 via a network.Note that communication between the information processing apparatus 101and the printing apparatus 151 can be performed via an access point 131by, for example, a wireless LAN complying with the IEEE802.11 standardseries. Note that although an embodiment based on a network arrangementusing the access point 131 will be described below, another arrangementin which the information processing apparatus 101 and the printingapparatus 151 are communicable with each other may be used. For example,the information processing apparatus 101 and the printing apparatus 151may be connected via a wired line (not shown). Furthermore, an apparatushaving both the function of the information processing apparatus 101 andthe function of the printing apparatus 151 may be used. In this case,information can be exchanged between the information processingapparatus 101 and the printing apparatus 151 via buses in theapparatuses and the like. A plurality of blocks shown in FIG. 1 may beintegrated into one block and one block may be divided into a pluralityof blocks. In addition, a block other than those shown in FIG. 1 may beadded, and one or more of the blocks shown in FIG. 1 may be omitted.

The information processing apparatus 101 is an arithmetic apparatuscapable of converting print target data into print data, such as apersonal computer (PC), a smartphone, a mobile terminal, a notebook PC,a tablet terminal, or a PDA (Personal Digital Assistant). The printingapparatus 151 is an arbitrary printer capable of executing printprocessing by acquiring print data from an external apparatus such asthe information processing apparatus 101. Assume that the printingapparatus 151 executes printing by the inkjet method in this embodiment.However, for example, the printing apparatus 151 may execute printing byanother arbitrary method such as an electrophotographic method. Theprinting apparatus 151 may be a Multi Function Peripheral having aplurality of functions such as a copy function, a FAX function, and aprint function.

The information processing apparatus 101 includes, for example, an inputinterface 102, a CPU 103, a ROM 104, a RAM 105, an external storagedevice 106, an output interface 107, a communication unit 109, and ashort-range wireless communication unit 110. CPU, ROM, and RAM areacronyms for “Central Processing Unit”, “Read Only Memory”, and “RandomAccess Memory”, respectively. Note that although FIG. 1 shows an examplea case in which the information processing apparatus 101 displaysinformation on a display device (display unit 108) such as an externaldisplay, the information processing apparatus 101 may include thedisplay unit 108.

The input interface 102 is an interface for accepting a data input andan operation instruction from a user. The input interface 102 is formedby, for example, a physical keyboard, buttons, a touch panel, or thelike. Note that the output interface 107 (to be described later) and theinput interface 102 may be integrated so that output of a screen andacceptance of an operation from the user are performed using commonhardware.

The CPU 103 serves as a system control unit, and controls the overallinformation processing apparatus 101. The ROM 104 stores permanent datasuch as control programs to be executed by the CPU 103, data tables, andan embedded operating system (to be referred to as an “OS” hereinafter)program. In this embodiment, the control programs stored in the ROM 104perform software execution control such as scheduling, task switching,and interrupt processing under the management of the embedded OS storedin the ROM 104. The RAM 105 is implemented by an SRAM (Static RandomAccess Memory) or the like that needs a backup power supply. Note thatthe RAM 105 holds data by a primary battery (not shown) for data backup,and can thus store important data such as program control variableswithout volatilizing them. The RAM 105 can be provided with a memoryarea to store setting information and management data of the informationprocessing apparatus 101, and the like. The RAM 105 can also be used asthe main memory and work memory of the CPU 103.

The external storage device 106 saves an application for providing aprint execution function, a print information generation program forgenerating print information interpretable by the printing apparatus151, and the like. The external storage device 106 can also save variousprograms such as a control program for transmitting/receivinginformation to/from another apparatus (for example, the printingapparatus 151) connected via the communication unit 109, and variouskinds of information to be used by these programs.

The output interface 107 is an interface used by the display unit 108 toperform control for displaying data and presenting information of thestate of the information processing apparatus 101. The output interface107 outputs control information and display target information forcausing the display unit 108 to display the information. The displayunit 108 includes an LED (Light Emitting Diode) and LCD (Liquid CrystalDisplay), and displays data and notifies the user of the state of theinformation processing apparatus 101. Note that a software keyboardincluding keys such as numerical value input keys, a mode setting key,an enter key, a cancel key, and a power key may be displayed on thedisplay unit 108, and an input from the user may be accepted via thesoftware keyboard.

The communication unit 109 includes a radio frequency (RF) circuit and abaseband circuit for executing data communication by performingconnection to an external apparatus such as the printing apparatus 151.For example, the communication unit 109 can communicate with theprinting apparatus 151 via the access point 131 existing separately fromthe information processing apparatus 101 and the printing apparatus 151.The access point 131 can be, for example, a device such as a wirelessLAN router that operates in accordance with a wireless communicationmethod complying with the IEEE802.11 standard series. Furthermore, thecommunication unit 109 may establish direct connection to the printingapparatus 151 in accordance with a protocol such as Wi-Fi (WirelessFidelity) Direct®. If the printing apparatus 151 includes an accesspoint (not shown), the communication unit 109 may be connected to theaccess point to establish direct connection to the printing apparatus151. Note that the communication unit 109 can be configured to performcommunication by Wi-Fi® but may perform communication by anotherwireless communication method such as Bluetooth®.

The short-range wireless communication unit 110 executes datacommunication by establishing wireless connection to the short-rangewireless communication unit 157 of the printing apparatus 151 based onat least the fact that the printing apparatus 151 (external apparatus)enters a predetermined short-range area. The short-range wirelesscommunication unit 110 performs communication by a communication methoddifferent from that of the communication unit 109, such as Bluetooth LowEnergy (BLE).

The printing apparatus 151 includes, for example, a ROM 152, a RAM 153,a CPU 154, a print engine 155, a communication unit 156, and ashort-range wireless communication unit 157.

The communication unit 156 includes a radio frequency (RF) circuit and abaseband circuit for performing connection to an external apparatus suchas the information processing apparatus 101. The communication unit 156corresponds to the communication unit 109 of the information processingapparatus 101, and performs communication by a wireless communicationmethod such as Wi-Fi or Bluetooth. The communication unit 156 may bedirectly connected to the communication unit 109 of the informationprocessing apparatus 101 by functioning as an access point or inaccordance with a predetermined protocol, as described above, or may beconnected to the communication unit 109 via the external access point131 or the like. If the communication unit 156 functions as an accesspoint, the communication unit 156 may have hardware for functioning asan access point, or may use software that allows the communication unit156 to function as an access point. Note that although the informationprocessing apparatus 101 and the printing apparatus 151 are connected tothe one access point 131 in the example of FIG. 1, they may be connectedto different access points connected to the network, and may beconnected to each other via the network.

The short-range wireless communication unit 157 executes datacommunication by establishing wireless connection to the short-rangewireless communication unit 110 of the information processing apparatus101 based on at least the fact that the information processing apparatus101 (external apparatus) enters a predetermined short-range area. Theshort-range wireless communication unit 157 corresponds to theshort-range wireless communication unit 110 of the informationprocessing apparatus 101, and performs communication by a wirelesscommunication method such as BLE. Note that, for example, printinformation transmitted from the information processing apparatus 101 orthe like has a large amount of data, requires high-speed large-capacitycommunication, and is thus received via the communication unit 156capable of performing communication at a speed higher than that of theshort-range wireless communication unit 157.

The RAM 153 is a memory similar to the RAM 105. The RAM 153 is providedwith a memory area to store setting information and management data ofthe printing apparatus 151, and the like. The RAM 153 is also used asthe main memory and work memory of the CPU 154, functions as a receptionbuffer for temporarily saving print information received from theinformation processing apparatus 101 or the like, and also saves variouskinds of information. The ROM 152 stores permanent data such as controlprograms to be executed by the CPU 154, data tables, and an OS program.When the CPU 154 executes the control programs stored in the ROM 152,software execution control such as scheduling, task switching, andinterrupt processing can be executed under the management of theembedded OS stored in the ROM 152. The CPU 154 serves as a systemcontrol unit, and controls the overall printing apparatus 151. Note thata memory such as an external HDD or SD card may be mounted as anoptional device on the printing apparatus 151, and the information savedin the printing apparatus 151 may be saved in such memory.

The print engine 155 forms an image on a print medium such as a sheetusing a printing material such as ink based on the information saved inthe RAM 153 and the print information received from the informationprocessing apparatus 101 or the like, and outputs a print result.

FIG. 2 is a block diagram showing an example of the functionalarrangement of the information processing apparatus 101. The informationprocessing apparatus 101 includes, for example, as functionalcomponents, a bookbinding application 201 that executes processing (tobe described later), and a printer driver 202 that generates print datainterpretable by the printing apparatus 151. When the user inputs aprint instruction to the screen of the bookbinding application 201 (tobe described later), the printer driver 202 receives application dataoutput from the bookbinding application 201, and generates print data.Note that a print instruction in the screen of the bookbindingapplication 201 corresponds to, for example, the pressing of an OKbutton included in a screen displayed after a print setting button 416shown in FIG. 4 is pressed. The user can designate a print area (pagenumber, sheet number, or the like) using the screen displayed after theprint setting button 416 shown in FIG. 4 is pressed. Then, when theprinter driver 202 transmits the print data generated by the bookbindingapplication 201 to the printing apparatus 151, the printing apparatus151 executes print processing.

(Overview of Operation of Bookbinding Application)

Subsequently, an example of the procedure of the bookbinding operationby the above-described bookbinding application 201 will be described.FIG. 3 shows an example of a basic setting screen displayed on thedisplay unit 108 when the CPU 103 of the information processingapparatus 101 executes, for example, programs corresponding to thebookbinding application 201 stored in the ROM 104 and the externalstorage device 106. As an example, a basic setting screen 300 includes apost-bookbinding image 301, a printer selection region 302, a sheet sizeselection region 303, a binding method setting region 304, a bindingdirection setting region 305, and a cover sheet-related setting region306.

The printer selection region 302 is a region where a printing apparatusto be used is selected. When a pull-down button in the printer selectionregion 302 is pressed by a user operation, a list of printingapparatuses usable by the information processing apparatus 101 isdisplayed. The user can select a printing apparatus to be used toperform print processing based on book data formed from a plurality ofpages by the bookbinding application 201. Note that with respect to thelist of the printing apparatuses displayed when the pull-down button inthe printer selection region 302 is pressed, only printing apparatusessupportable by the bookbinding application 201 can be displayed.However, the present invention is not limited to this. For example, allthe printing apparatuses usable by the information processing apparatus101 may be displayed regardless of whether they can be supported by thebookbinding application 201.

The sheet size selection region 303 is a region where a sheet size to beused for bookbinding is selected. When a pull-down button in the sheetsize selection region 303 is pressed by a user operation, a list ofsheet sizes usable by the printing apparatus selected in the printerselection region 302 is displayed. The user can select, from thedisplayed list of the sheet sizes, one size corresponding to the size ofa book to be created. Note that information of the sheet sizes usable bythe printing apparatus selected in the printer selection region 302 canbe acquired from the printing apparatus via, for example, the printerdriver 202.

The binding method setting region 304 is a region where a binding methodof a book is set. When a pull-down button in the binding method settingregion 304 is pressed by a user operation, for example, “side stitch”and “saddle stitch” are selectably displayed. “Side stitch” is a bidingmethod of performing bookbinding at a position a predetermined distanceaway from a spine portion of a book using a staple or the like. “Saddlestitch” is a binding method of performing bookbinding at a foldingportion of doubled sheets using a staple or the like. If “saddle stitch”is selected, it is assumed that the sheets are doubled, and thus a2-in-1 print setting can be selected automatically. Note that if “saddlestitch” is selected, for example, settings such as 4-in-1 other than1-in-1 may be selectably displayed. Furthermore, “saddle stitch” is abinding method of generating a book by overlaying a plurality of printedsheets and then doubling them. Note that if “side stitch” is selected, a1-in-1 print setting can be selected automatically. In this case aswell, however, settings such as 2-in-1 and 4-in-1 may be selectablydisplayed. Note that if 2-in-1 is not selected for “saddle stitch” or if1-in-1 is not selected for “side stitch”, page allocation (to bedescribed later) is different accordingly.

The binding direction setting region 305 is a region where a bindingdirection of a book is set. When a pull-down button in the bindingdirection setting region 305 is pressed by a user operation, forexample, “right-side binding” and “left-side binding” are selectablydisplayed. In some cases, “upper binding” may be selectably displayed.“Right-side binding” indicates a binding direction that binds the rightside of the front cover, and “left-side binding” indicates a bindingdirection that binds the left side of the front cover. In addition,“upper binding” indicates a binding direction that binds the upperportion of the cover. A string “binding direction” in the bindingdirection setting region 305 may be replaced by “open direction” or thelike. Right-open corresponds to right-side binding and left-opencorresponds to left-side binding. The setting in this region determineswhether the pages of a book to be created advance from right to left orfrom left to right.

The cover sheet-related setting region 306 is a region where a coversheet is set. For example, radio buttons that allow the user to selectone of an item for creating covers and text by the same type of sheetsand an item for creating covers and text by different types of sheetsare displayed. Note that if, in the setting region 306, the covers andtext are created by the same type of sheets, the sheet type (forexample, “plain paper” or the like) of the text is set as the sheet typeof the covers, and thus the region that allows selection of the sheettype of the covers is grayed out so as not to be selected. On the otherhand, if the setting of creating covers and text by different types ofsheets is selected in the setting region 306, the region that allowsselection of the sheet type of the covers is activated. Then, when apull-down button in the region where the sheet type of the covers is setis pressed, a list of selectable sheet types (for example, glossy paper,plain paper, and the like) is displayed. Note that, for example, if“plain paper” is selected, a character string “borderless printing isimpossible” can be displayed, and if “glossy paper” is selected, acharacter string “borderless printing is possible” can be displayed. Inaddition, necessary information may be set for each sheet type, and acharacter string corresponding to the sheet type selected by a useroperation may be displayed. Furthermore, if the setting of creatingcovers and text by different types of sheets is selected, a message suchas “it is necessary to print by setting different sheets for cover/text”may be displayed.

When “OK” is pressed in the basic setting screen shown in FIG. 3, thescreen transitions to an edit screen. The edit screen may be differentin accordance with the setting items such as the binding method and thesetting of whether the sheet type of the covers is set to be the same asthat of the text. Examples of the edit screen corresponding to the basicsettings will be described below.

[Case in Which Side Stitch Is Selected and Covers and Text Are Createdby Same Type of Sheets]

FIG. 4 shows an example of the edit screen when the binding method isside stitch (1-in-1), right-side binding is selected, and the setting ofusing the same type of sheets for the covers and text is made. Note thatthe example of FIG. 4 shows an example of a state in which a document(original data) for eight pages (from a page where “A” is written to apage where “H” is written) has already been loaded. In a stage beforethe document is loaded, an edit region 401 and an original data region402 are in a predetermined state (for example, a blank state) in whichthe user can recognize that no document has been loaded. Note that in,for example, the stage before the document is loaded, a message such as“please load original data to be put in a book” may be displayed in theedit region 401, and a message that notifies the user of a method ofloading data may further be displayed. Note that such message may bedisplayed in the original data region 402. Another method such asdisplay of a dialog may be used to prompt the user to load originaldata. Note that one original data may be loaded or a plurality oforiginal data may be loaded.

When the user clicks on a “load” button 403, for example, a fileselection dialog is displayed, and the user selects, from a displayedfile list, a file (original data) to be used to create a book. When afile is selected, page data included in the file are expanded in theoriginal data region 402. Similarly, a result of automaticallyallocating the page data included in the file based on a page order andthe setting contents in the basic setting screen 300 can be displayed inthe edit region 401. Automatic page allocation can be performed so that,for example, page data of the first to fourth pages in the file are setas “front cover”, “back cover”, “back surface (inside) of front cover”,and “back surface (inside) of back cover”, respectively, and page dataof the subsequent pages are set as text. The edit region 401 shown inFIG. 4 shows an example of a case in which automatic page allocation isperformed in this way. In the expanded file, the page data of the firstpage where “A” is written is allocated to the front cover and the pagedata of the second page where “B” is written is allocated to the backcover. Then, the page data of the third page where “C” is written isallocated to the inside of the front cover and the page data of thefourth page where “D” is written is allocated to the inside of the backcover. That is, the bookbinding application 201 generates book data as aresult of allocating the page data included in the original data, anddisplays a preview image of each page in the edit region 401 of FIG. 4based on the generated book data. Note that the page data of the firstand second pages of the file may be allocated to “front cover” and“inside of front cover”, and the data of the last page and the secondpage from the last in the file may be allocated to “back cover” and“inside of back cover”. Note that FIG. 4 and some following examplesshow an example of a case in which right-side binding is selected, andthe front cover is displayed at the rightmost end and the back cover isdisplayed at the leftmost end. However, if left-side binding isselected, the front cover is displayed at the leftmost end and the backcover is displayed at the rightmost end. The screen of FIG. 4 may becalled a preview screen since it includes preview images.

Note that when contents of the file are expanded in the original dataregion 402, for example, a confirmation message such as “do you want toperform automatic page allocation?” may be displayed to accept userdetermination of whether to automatically perform page allocation. Inthis case, if the user approves automatic page allocation, a result ofperforming automatic page allocation is displayed in the edit region401; otherwise, the edit region 401 may remain blank. Alternatively, thepage data included in the selected file may only be expanded in theoriginal data region 402 without performing automatic page allocationregardless of user determination. Note that even if automatic pageallocation is not performed, when the user clicks on an “add all” button404, automatic page allocation of the page data is performed in theorder of the pages included in the file.

Note that when a plurality of files are read out, all page data includedin the plurality of files are expanded in the original data region 402.At this time, the order of the page data to be expanded can be decidedby a pull-down menu 405. For example, if, as shown in FIG. 4, “loadorder” is selected, the page data are expanded in the original dataregion 402 in an order such that page data of a file selected earlier isdisplayed on the left side. To the contrary, if, for example, “file nameorder” (not shown) is selected, the page data are expanded in ascending(descending) order of file names. If, for example, a file whose name is“A.pdf” is opened after a file whose name is “B.pdf”, when “load order”is selected, page data of “A.pdf” is displayed on the right side of aposition at which page data of “B.pdf” is displayed. On the other hand,if “file name order” is selected, even if “B.pdf” is opened first, thepage data of “B.pdf” is displayed on the right side of a position atwhich the page data of “A.pdf” is displayed. Note that the sort order isnot limited to the load order or the file name order, and various orderssuch as the order of the file creation date (update date) and the orderof the use frequency in this application can be used.

The page data allocated in order of appearance when the pages of thebook after completion are turned over are displayed in the edit region401. Note that the page data are included in the above-described bookdata. That is, the book data includes page data corresponding to aplurality of pages forming the book. Furthermore, display is performedso that the distance between two pages displayed in a spread is shorterthan the distance to another page that is adjacent but is not displayedin a spread. This allows the user to readily determine a page forming aspread of the book and a page forming no spread. In the example of FIG.4, when the distance between the page where “C” is written and the pagewhere “E” is written is sufficiently short, the user can readilyrecognize that these pages are pages forming a spread. On the otherhand, the distance between the page where “E” is written and the pagewhere “F” is written is longer than that between the page where “C” iswritten and the page where “E” is written. This allows the user toreadily recognize that these pages are adjacent to each other but arenot pages forming a spread. In this way, the images of all the pages aredisplayed in the edit region 401 based on the page data of the pagesincluded in the book data. Note that the example of FIG. 4 shows anexample of a case in which all the pages included in the book data canbe displayed as a whole. However, if the number of pages increases whilemaintaining the state in which all pages are displayed, the size of eachpage may become small. To cope with this, the bookbinding application201 can be configured to perform enlargement/reduction display of eachpage. At this time, if all the pages cannot be displayed in the editregion 401, a display area can be moved by, for example, displaying ascroll bar in the lower portion of the edit region 401.

Note that if side stitch is selected, binding positions 406 by a stapleare also displayed. The binding positions 406 can be displayed by, forexample, a predetermined color (for example, red) so that the user canrecognize them. The display of the binding positions 406 can be printedintact, and the user can bind the book at the positions using thestaple.

In each page displayed in the edit region 401, a boundary 407 indicatingthe boundary between a printable region and a margin region isdisplayed. When the user inputs each setting value in a region of pagesetting 408, the page data is laid out in the page based on the settingvalues. For example, in the page setting 408, the user sets whether toenlarge/reduce the original data in accordance with the margin or sheet,sets whether to display in a full scale, and sets vertical andhorizontal positions. The vertical and horizontal positions are set bymoving the position of the original data in the page upward or leftwardby a negative value, and moving the position of the original data in thepage downward or rightward by a positive value. This allows the user toset in detail how the page data is laid out in the page. Note that thesesettings can be applied for each page. For example, in the state inwhich the page where “E” is written is selected in the edit region 401,when the setting values are input in the page setting 408, the settingvalues are applicable to only the selected page. Note that when “applyto all pages” is selected in the page setting 408, the input settingsare collectively applied to all the pages. Note that at this time, theuser can recognize the selected page when a page frame 409 of the pagewhere “E” is written is highlighted, thereby recognizing that settingsare being made for the specific page. In addition, the user can deletethe page from the edit region 401 by pressing, for example, an icon 410.

The user can set a spread attribute for one page data by selecting a“spread” checkbox 415. FIG. 5 shows a display example when the “spread”checkbox 415 is selected in the state in which the page where “E” iswritten is selected, as shown in FIG. 4. When the “spread” checkbox 415is selected, a spread attribute is imparted to the page datacorresponding to the selected page. Then, the page data to which thespread attribute is imparted is allocated to a region of two pages inthe edit region. Although different from FIGS. 4 and 5, a case in whichthe “spread” checkbox 415 is selected in a state in which aneven-numbered page of the text (a right page of a spread for right-sidebinding or a left page of a spread for left-side binding) is selectedwill be described. In this case, page data allocated to the selectedpage is displayed at the center of the spread including the selectedpage. Then, the page data are reallocated so that the pages after theselected page are shifted backward by one page. That is, in this case,the bookbinding application 201 generates a new spread region by addingone page after the selected page, and lays out the page data of theselected page at the center of the new spread region.

On the other hand, if an odd-numbered page of the text, like the pagewhere “E” is written in FIG. 4, is selected, the next page of theselected page is included in a spread different from a spread includingthe selected page. Note that the odd-numbered page indicates the leftpage of the spread for right-side binding or the right page of thespread for left-side binding. Therefore, if only one page is added afterthe selected page to generate a new spread region, and one page data isallocated to the new spread region, the bookbinding application 201cannot display the page data as a spread. Therefore, if, for example,the “spread” checkbox 415 is selected in the state in which theodd-numbered page of the text is selected, as shown in FIG. 5, one pagecan be added not only after but also before the selected page. Thisallows the bookbinding application 201 to allocate the page data of theselected page to one spread region. Note that in this case, the pagedata are reallocated so that the pages after the selected page areshifted backward by two pages.

When the “spread” checkbox 415 is selected in the state in which theodd-numbered page is selected, a message for notifying the user that onepage is added before the selected page may be displayed. If the userapproves addition of the page, a spread attribute is set for theselected page data, and the selected page data may be laid out over aplurality of pages. This can prevent addition of a page unintended bythe user. Note that if the user does not approve addition of a page,setting of a spread attribute may be canceled. When the “spread”checkbox 415 is selected in the state in which the odd-numbered page isselected, a space for one page may be added after the selected page toallocate the selected page to a region for two pages without displayingthe above-described message. Note that when such allocation isperformed, the bookbinding application 201 may display a messageindicating that the page data of the selected page is not laid outintact in the spread region.

When the “spread” checkbox 415 is cleared after the spread attribute isset for the page data, the spread attribute of the page data isreleased. As a result, the (preceding and succeeding) pages added at thetime of allocation are deleted, and the pages after the pages arereallocated. Note that, for example, a message indicating whether todelete pages such as blank pages added when the odd-numbered page isallocated to the spread may be displayed.

Note that when horizontally long page data is dragged and dropped in theedit region 401 (or allocated automatically), a spread attribute may beset automatically for the page data. In this case, the “spread” checkbox415 is selected automatically. Furthermore, if the insertion position ofthe page data is an odd-numbered page, a blank page or the like may beinserted before the page, as described above, or predetermined errordisplay or the like may be performed. When, after the spread attributeis set for the horizontally long page data and the page data isallocated to the spread region, the “spread” checkbox 415 is cleared,the spread attribute of the horizontally long page data is released. Asa result, the horizontally long page data can be allocated to one-sidepage forming the spread (for example, by reduction or rotation). Notethat the horizontally long page data may be allocated to one-side page,similarly to a vertically long page without automatically setting thespread attribute for the horizontally long page data. Referring back toFIG. 4, with respect to the selected page, an image of the spreadincluding the page after bookbinding is displayed as a book preview 411,and thus the user can readily recognize the state of the selected pageafter completion of the book. Note that when “<” or “>” in the previewis selected, a preview of an adjacent spread can be displayed. At thistime, the selected page may move together, or only the pages of thepreview may move without synchronizing the selected page and the previewwith each other.

The user can operate the page data expanded in the original data region402 for each page. For example, the user can select one page data in theoriginal data region 402, and drag and drop it in the edit region 401,thereby adding the page data as one page of the book. FIG. 4 shows astate in which the page where “C” is written is selected from the dataexpanded in the original data region 402. If the selected page data isdragged and dropped in an arbitrary position of the edit region 401, itis incorporated in the book data as a page corresponding to the droppedposition. For example, the page data is dragged and dropped in apredetermined area, in the edit region 401, between the page where “F”is written and the page where “G” is written. This operation causes thebookbinding application 201 to generate book data in which the page datawhere “C” is written is inserted between the page data of “F” and thepage data of “G”. Note that if such page data is inserted, the spreadrelationship is reconstructed based on the book data after insertion.That is, the page of “F” and the newly added page of “C” have the spreadrelationship, and the page of “G” has the spread relationship with thepage of “H” due to addition of the page of “C”.

Furthermore, the user can add a blank page by pressing an “add blankpage” button 412. For example, if the “add blank page” button 412 ispressed in the state in which the page where “C” is written is selected,a blank page is added between the page where “C” is written and the pagewhere “E” is written. In this case, the bookbinding application 201generates book data including blank page data between the page data of“C” and “E”. A blank page may be added to the right or left side of theselected page in accordance with a predetermined rule or, if two pagesare selected, may be added between the two pages. Thus, if the backsurfaces of the covers are desirably blank, or in accordance with theuser's preferences or the like, a blank page can be added to anarbitrary position in the book.

Note that if the page data in the original data region 402 is used inthe edit region 401, information for specifying it is added at the upperleft position of each data. Referring to FIG. 4, the page data where “A”is written and the page data where “C” is written are used for the frontcover (and its back surface). Then, the page data where “B” is writtenand the page data where “D” is written are used for the back cover (andits back surface). Then, other page data are used for the text. Thisallows the user to recognize that, for example, page data to be includedas a page in the book is not used in the edit region 401 or page datanot to be included in the book is unwantedly used. In addition, the usercan recognize whether page data to be used for the cover is appropriate.The user can delete page data not to be used for creation of the book inthe original data region 402. For example, the user can select an icon413 displayed at the upper right position of the data in the selectedstate to delete the selected page data from the original data region402. This can prevent an edit operation from becoming cumbersome due tothe existence of many data not to be used in the original data region402.

Furthermore, in the original data region 402, it is possible to select aplurality of data and collectively operate them. For example, in a statein which the page data where “C” is written and the page data where “D”is written are selected, the page data are collectively dragged anddropped in the edit region 401. This operation can insert these pagedata into the book data as two successive pages. The same applies to acase in which three or more page data are selected. Furthermore, if a“multi delete” button 414 is pressed in a state in which a plurality ofpage data are selected, the plurality of page data can collectively bedeleted from the original data region 402. Note that if one data isselected or no data is selected, the “multi delete” button 414 can bedisabled, for example, grayed out.

Upon completion of editing of the book, as described above, the user canexecute printing of the book by pressing a print setting button 416.That is, the bookbinding application 201 outputs application data basedon the book data including the page data arranged in an order accordingto the above edit processing. Then, the printer driver 202 generatesprint data based on the output application data. Note that for sidestitch (1-in-1) where n is an integer of 1 or more, double-sidedprinting is executed so that the (2n-1)th page and 2nth page have thefront-back relationship. Note that double-sided printing is executed sothat the front cover and its back surface have the front-backrelationship and the back cover and its back surface have the front-backrelationship.

[Case in Which Saddle Stitch Is Selected and Covers and Text Are Createdby Same Type of Sheets]

Subsequently, an example of the edit screen when the biding method issaddle stitch (2-in-1), and the setting of using the same type of sheetsfor the covers and text is made will be described with reference to FIG.6. The edit screen in this case is almost the same as that shown in FIG.4. However, in the case of saddle stitch, the binding positions arebetween the pages, and thus the marks indicating the biding positionsare not displayed, as shown in a screen example 600 of FIG. 6. Note thatwhen printing on a paper surface, the marks indicating the bidingpositions may be displayed at predetermined positions between the pages.

Note that if the binding method is saddle stitch (2-in-1), 2-in-1double-sided printing is executed, and thus the number of pages persheet is four. Therefore, if the number of pages added to the editregion 401 is not a multiple of 4, a page such as a blank page can beadded to the end so that the total number of pages is a multiple of 4.

Note that if the binding method is saddle stitch (2-in-1) and right-sidebinding is selected, when N represents the total number of pages and mis an integer of 0 or more, the front surface of one sheet including the(N/2+2m+2)th page on the right side and the (N/2−2m−1)th page on theleft side is printed. Then, the back surface of the sheet including the(N/2−2m)th page on the right side and the (N/2+2m+1)th page on the leftside is printed. If, for example, N=8, the front surface including thesixth page on the right side and the third page on the left side and theback surface including the fourth page on the right side (the back sideof the third page) and the fifth page on the left side (the back side ofthe sixth page) are printed on both surfaces of one sheet. Similarly,the front surface including the eighth page on the right side and thefirst page on the left side and the back surface including the secondpage on the right side (the back side of the first page) and the seventhpage on the left side (the back side of the eighth page) are printed onboth surfaces of one sheet. The front surface on which the back cover islaid out on the right side and the front cover is laid out on the leftside and the back surface on which the back surface of the front coveris laid out on the right side and the back surface of the back cover islaid out on the left side undergo double-sided printing. Note that thesame applies to left-side binding except that the above relationshipbetween the right and left sides is reversed.

[Case in Which Side Stitch Is Selected and Covers and Text Are Createdby Different Types of Sheets]

Subsequently, an example of the edit screen when the binding method isside stitch (1-in-1) and the setting of using different types of sheetsfor the covers and text is made will be described with reference toFIGS. 7 and 8. When different types of sheets are used for the coversand text, a cover edit screen 700 shown in FIG. 7 and a text edit screen800 shown in FIG. 8 are used. Note that this form need not always beused but at least the screen is configured to execute printing of thecovers and text independently. That is, the user needs to individuallyissue a cover print instruction and a text print instruction to thebookbinding application 201. If the cover edit screen 700 and the textedit screen 800 are separated, buttons for switching between the editscreens, for example, a cover selection button 701 and a text selectionbutton 702 in FIG. 7 are displayed in the edit region 401. When the userselects the cover selection button 701, the cover edit screen 700 shownin FIG. 7 is displayed. When the user selects the text selection button702, the text edit screen 800 shown in FIG. 8 is displayed. Note thatthese buttons may be displayed outside the edit region 401. Instead ofthe form of the button, for example, a tab form may be used. That is, atab for the cover edit screen and a tab for the text edit screen may bedisplayed, and one of the tabs may be selected to switch the screen.

In the cover edit screen, only the front cover and the back cover aredisplayed, as shown in FIG. 7. Note that the front cover and the backcover are displayed in a form when viewing the book from the spine side.That is, for right-side binding, the front cover is displayed on theleft side and the back cover is displayed on the right side. On theother hand, for left-side binding, the front cover is displayed on theright side and the back cover is displayed on the left side. If sidestitch is used, binding positions are displayed. However, in the coveredit screen, the binding positions are displayed on the center side whenthe front cover and the back cover are laid out side by side, as shownin FIG. 7. In the cover edit screen 700, the positional relationshipbetween the front cover and the back cover is reversed, as compared withthe edit screen, shown in FIG. 4 or 6, in which the covers and the textare collectively edited. This display allows the user to readilyrecognize how the book after bookbinding looks like from the spine sidewhen the book is opened.

Note that in this embodiment, if different types of sheets are used forthe covers and text, the back surface of the front cover or that of theback cover is not used (that is, the back surface is blank). The presentinvention, however, is not limited to this. If the back surface of thefront cover or that of the back cover is used, the cover edit screendisplays, for example, the back surface of the front cover adjacent tothe front cover and the back surface of the back cover adjacent to theback cover. In the example of FIG. 7, the back surface of the frontcover can be displayed on the left side of the front cover and the backsurface of the back cover can be displayed on the right side of the backcover.

As shown in FIG. 8, in the text edit screen, the text except for thefront cover and the back cover (and their back surfaces) is displayed inthe edit region. The edit screen shown in FIG. 8 is the same as thatshown in FIG. 4 except that the front cover, the back cover, and theirback surfaces are not included.

[Case in Which Saddle Stitch Is Selected and Covers and Text Are Createdby Different Types of Sheets]

The edit screen when saddle stitch is selected and the setting of usingdifferent types of sheets for the covers and text is made is the same asthat shown in FIG. 7 or 8 except that the marks of the binding positionsare not displayed. Note that for saddle stitch, the number of pagesneeds to be a multiple of 4, as described above. However, if differenttypes of sheets are used for the covers and text, the number of pages ofthe text needs to be a multiple of 4. That is, in the above-describedexample, adjustment is performed so that the total number of pages ofthe covers and text is a multiple of 4. In this example, however,adjustment is performed so that the number of pages of only the text isa multiple of 4. As a result, in this example, if the back surfaces ofthe covers undergo single-sided printing, the total number of pages ofthe covers and text is not a multiple of 4 (when a is an integer, thetotal number of pages is given by (4a+2)). For example, if an editoperation is performed so that the text includes data for six pages, 2blank pages or the like is inserted so that the number of pages of thetext is a multiple of 4.

Note that if the setting of using different types of sheets for thecovers and text is performed, the covers can undergo borderless printingby using, for example, glossy paper. FIG. 9 shows an example of the editscreen in this case. When executing borderless printing, so-called“bleed” needs to be added such that a print target image has a sizelarger than the finished size. Therefore, if paper such as glossy paperthat can undergo borderless printing is selected, a region 902 of a sizeincluding bleed and an explanation 903 can be displayed. Furthermore, anoption 901 used to adapt to a size including bleed byenlargement/reduction of page data is displayed. This allows the user tocreate covers by borderless printing by only performing a simpleoperation.

Upon completion of the edit processing using the screens shown in FIGS.4 to 9, the user selects a print setting button included in each ofthese screens. The user performs further print setting processing usinga print setting screen selected by selecting the print setting button,thereby selecting print execution. This processing sends applicationdata generated by the bookbinding application to the printer drivercorresponding to the printer selected in FIG. 3, and the printer drivergenerates print data based on the application data. Note that if thecovers and text are printed on the same type of sheets, the applicationdata includes pages laid out in the covers and the pages laid out in thetext. On the other hand, if the covers and text are printed on thedifferent types of sheets, the covers and the text are printedindependently. Therefore, the above-described print setting screenprepares an option for selecting the covers or the text as a printtarget. In this case, if the user instructs printing in the state inwhich the covers are selected, the application data includes only pageslaid out in the covers, and the printer driver generates print data forthe covers. On the other hand, if the user instructs printing in thestate in which the text is selected, the application data includes onlypages laid out in the text, and the printer driver generates print datafor the text.

An arrangement according to this embodiment will be described below, inwhich if data having the spread attribute fails without satisfying thecondition of a spread layout on the preview display screen for layoutediting, a warning for the failed portion is displayed on a page layout.

FIG. 10 is a flowchart illustrating spread layout determinationprocessing. Each process shown in FIG. 10 is implemented when, forexample, the CPU 103 loads the program stored in the ROM 104 into theRAM 105 and executes it. The processing of FIG. 10 starts whenallocating the original file in the original data region 402 to pages. Aspread warning setting flag is secured in the RAM 105.

In step S1001, based on the attributes of the page data to be laid out,the CPU 103 determines whether page data having the spread attributeexists. If it is determined that such page data exists, the processadvances to step S1002; otherwise, the processing of FIG. 10 ends.

In step S1002, based on bookbinding setting contents, the CPU 103determines whether the binding direction is right-side binding orleft-side binding. The determination processing in step S1002 isperformed based on, for example, the setting information in the bindingdirection setting region 305 in FIG. 3. If it is determined that thebinding direction is right-side binding, the process advance to stepS1003. If it is determined that the binding direction is left-sidebinding, the process advance to step S1004.

In step S1003, the CPU 103 determines whether the left half of the pagedata having the spread attribute is laid out as an odd-numbered page. Inthis embodiment, in the case of right-side binding, the left page of theset of the pages that can be spread is an odd-numbered page. Therefore,if it is determined in step S1003 that the left half of the page data islaid out as an odd-numbered page, the page data is laid out as a spreadappropriately. Thus, if YES is determined in step S1003, the CPU 103determines in step S1005 that the spread layout is “OK” since theallocation state of the page data having the spread attribute satisfiesthe condition of the spread layout. In this case, it is unnecessary tomake a warning notification that the spread layout fails. Thus, in stepS1006, the CPU 103 turns off the spread warning setting flag. Afterthat, the processing of FIG. 10 ends.

On the other hand, if it is determined in step S1003 that the left halfof the page data having the spread attribute is not laid out as anodd-numbered page, the page data having the spread attribute is laid outon the front and back surfaces of one sheet. That is, the page data isnot laid out as a spread appropriately. Therefore, in step S1007, theCPU 103 determines that the spread layout is “NG” since the allocationstate of the page data having the spread attribute does not satisfy thecondition of the spread layout. In this case, in step S1008, the CPU 103displays a warning mark indicating that the spread layout fails. Thiswarning mark is displayed on a preview image based on the page data asthe current processing target, as shown in, for example, FIG. 12. Notethat FIG. 12 shows merely an example, and the warning mark need only bedisplayed in association with the preview image based on the processingtarget page data. For example, the warning mark may be displayed nearthe preview image based on the processing target page data. Then, instep S1009, the CPU 103 turns on the spread warning setting flag. Afterthat, the processing of FIG. 10 ends.

Referring back to step S1002, if it is determined in step S1002 that thebinding direction is left-side binding, the process advances to stepS1004. In step S1004, the CPU 103 determines whether the left half ofthe page data having the spread attribute is laid out as aneven-numbered page. In this embodiment, if the binding direction isleft-side binding, the left page of the set of the pages that can bespread is an even-numbered page. Therefore, if it is determined in stepS1004 that the left half of the page data is laid out as aneven-numbered page, the page data is laid out as a spread appropriately.Thus, if YES is determined in step S1004, the CPU 103 determines in stepS1005 that the spread layout is “OK” since the allocation state of thepage data having the spread attribute satisfies the condition of thespread layout.

On the other hand, if it is determined in step S1004 that the left halfof the page data having the spread attribute is not laid out as aneven-numbered page, the page data having the spread attribute is laidout on the front and back surfaces of one sheet. That is, the page datais not laid out as a spread appropriately. Therefore, in step S1007, theCPU 103 determines that the spread layout is “NG” since the allocationstate of the page data having the spread attribute does not satisfy thecondition of the spread layout. The processes in steps S1008 and S1009after that are as described above. Note that if the book data includes aplurality of page data each having the spread attribute, the processingof FIG. 10 is executed for the plurality of page data.

FIG. 12 is a view showing an example in which the warning mark isdisplayed in step S1008 for left-side binding. Referring to FIG. 12, theleft half of the page data having the spread attribute is laid out aspage 3, that is, an odd-numbered page. That is, the page data having thespread attribute is laid out on the front and back surfaces of onesheet, and is thus inappropriate as a spread. Therefore, in this case,the processing in step S1008 displays a warning mark 1201 on pages 3 and4 in the edit region 401.

As described above, according to this embodiment, if the spread layoutfails when allocating an image to pages, the warning mark is displayedon the pages. This arrangement allows the user to readily identify pagesin a file where a spread fails.

Even if the warning mark is displayed, as shown in FIG. 12, for example,the user may scroll without noticing, and undesirably press the printsetting button 416. Such case will be described below.

FIG. 11 is a flowchart illustrating processing executed when the printsetting button is pressed in the state in which the warning mark isdisplayed. Each process shown in FIG. 11 is implemented when, forexample, the CPU 103 loads the program stored in the ROM 104 into theRAM 105 and executes it.

In step S1101, upon detecting the pressing of the print setting button416, the CPU 103 determines whether the status of the spread warningsetting flag is ON or OFF. If it is determined that the status is ON,the CPU 103 displays a warning message on the screen in step S1102.After step S1102, the processing of FIG. 11 ends. On the other hand, ifit is determined that the status of the spread warning setting flag isOFF, the CPU 103 executes normal print processing in step S1103. Afterstep S1103, the processing of FIG. 11 ends.

FIG. 13 is a view showing an example of a screen on which the warningmessage is displayed in step S1102. Referring to FIG. 13, “The page setfor a spread is a single page, and thus printing is impossible.” isdisplayed as a warning message 1301, thereby making a warningnotification to the user.

As described above, according to this embodiment, if the print settingbutton is pressed even though the warning mark is displayed, the warningmessage indicating that the spread fails is displayed, thus allowing theuser to readily notice the failure of the spread.

As the warning message 1301 of FIG. 13, “There is a blank page at theend of the book. Do you want start printing without any change? The pageset for a spread is a single page, and thus printing is impossible.Please check the page order.” is displayed. If there exists a page suchas a blank page that can be determined to have low relevance to anotherpage, change of the page order may be proposed. For example, in theabove case, if the user moves the blank page to a position before thepage set for the spread, the failure of the spread is resolved.

The example in which when the print setting button 416 is pressed in thestate in which the warning mark is displayed, the warning message isdisplayed on the screen has been explained with reference to FIGS. 11and 13. If the print setting button 416 is pressed in the state in whichthe status of the spread warning setting flag is ON, and the printsetting screen is displayed, as shown in FIG. 14, the CPU 103 mayrestrict display by, for example, graying out a button 1401 forinstructing the start of execution of printing so as not to be executed.

As described above, if the spread fails when allocating the page data topages of the book, a warning that the spread fails is displayed togetherwith the allocation state. Even if the user attempts to advance theprint processing in spite of the failure of the spread, execution ofprinting is restricted by display of the warning message in FIG. 13 ordisplay control of the instruction button in FIG. 14. Therefore, it ispossible to make the user surely confirm that the spread fails beforeprinting starts.

Display of the warning message indicating that the spread fails orrestriction of execution of printing has been described above.Processing in which when the spread fails, printing is enabled byinserting a predetermined page to resolve the failure of the spread willbe described below.

FIG. 15 is a flowchart illustrating processing in which if the spreadfails, printing is enabled by inserting a predetermined page. Eachprocess shown in FIG. 15 is implemented when, for example, the CPU 103loads the program stored in the ROM 104 into the RAM 105 and executesit. Steps S1501 to S1504 are the same as steps S1001 to S1004 of FIG. 10and a description thereof will be omitted. A page addition processingflag is secured in the RAM 105.

If it is determined in step S1503 that the left half of the page datahaving the spread attribute is laid out as an odd-numbered page, thepage data is laid out as a spread appropriately. Therefore, in stepS1505, the CPU 103 turns off the page addition processing flag (to bedescribed later). After step S1505, the processing of FIG. 15 ends.

On the other hand, if it is determined in step S1503 that the left halfof the page data having the spread attribute is not laid out as anodd-numbered page, the page data is laid out on the front and backsurfaces of one sheet, and is not laid out as a spread appropriately.Therefore, in step S1506, the CPU 103 inserts a predetermined page as apage before the page data having the spread attribute.

FIGS. 17A to 17C are views for explaining the page insertion processingin step S1506. Referring to FIGS. 17A to 17C, the page number increasesfrom left to right. Note that gray portions at the left end in FIGS. 17Ato 17C represent the front cover.

In FIG. 17A, the page data having the spread attribute is allocated topages 4 and 5 appropriately. FIG. 17B shows a state in which afterallocation in FIG. 17A, the user inserts a new page at the position ofpage 2. As a result of the page insertion, allocation of the page datashifts by one page. Therefore, as shown in FIG. 17B, the page datahaving the spread attribute is allocated to pages 5 and 6, causing afailure of a spread. In this case, in step S1506 of FIG. 15, the CPU 103inserts a blank page as a predetermined page at the position before thepage data having the spread attribute, that is, at the position of page5 in FIG. 17C. As a result, as shown in FIG. 17C, the page data havingthe spread attribute is allocated to pages 6 and 7 appropriately.

In FIG. 17B, the state in which the page is inserted has been explained.However, the same applies to a case in which a page is deleted. Forexample, if page 2 is deleted in FIG. 17B, the page data having thespread attribute is allocated to pages 3 and 4, causing a failure of aspread, similar to the above case. In this case, the CPU 103 inserts apredetermined page at the position of preceding page 2.

The predetermined page added in step S1506 is not limited to a blankpage and may be a page of another form. For example, a page on which apredetermined design, ornament, or pattern is printed may be added. Instep S1507, the CPU 103 turns on the page addition processing flag.After step S1507, the processing of FIG. 15 ends.

FIG. 16 is a flowchart illustrating processing after the setting of thepage addition flag. Each process shown in FIG. 16 is implemented when,for example, the CPU 103 loads the program stored in the ROM 104 intothe RAM 105 and executes it. The processing of FIG. 16 starts when, forexample, the print setting button 416 is pressed.

In step S1601, the CPU 103 determines the status of the page additionprocessing flag. If it is determined that the status of the pageaddition processing flag is ON, the CPU 103 displays a warning messageon the screen in step S1602. In step S1602, for example, a message “Thepage set for a spread is a single page, and thus a page is added. Do youwant to check the added page?” is displayed to accept an instruction tocheck/not to check the page.

If, in step S1603, when an instruction to check the added page isaccepted, the CPU 103 displays a portion where the page additionprocessing has been performed. For example, the CPU 103 displays, in theedit region 401, a portion near the page having undergone the pageaddition processing. At this time, a screen that can display the printsetting screen successively in accordance with the user instruction,like “The portion near the added page is displayed. Do you want todisplay the print setting screen successively?” Furthermore, an editscreen in which the added predetermined page can be edited may bedisplayed. For example, the user may be able to select one of aplurality of kinds of template pages on which designs and pattern imagesare laid out. After step S1604, the processing of FIG. 16 ends.

On the other hand, if it is determined in step S1601 that the status ofthe page addition processing flag is OFF or if an instruction not tocheck the added page is accepted in step S1603, the CPU 103 displays theprint setting screen in step S1605. Then, the user executes printprocessing by pressing the print button included in the print settingscreen. That is, the bookbinding application 201 instructs the printerdriver 202 to execute printing based on the book data (applicationdata). After step S1605, the processing of FIG. 16 ends.

As described above, according to this embodiment, if it is determinedthat the spread fails, the failure of the spread is resolved by adding apredetermined page. With this arrangement, the print processing can beexecuted by resolving the failure of the spread without displaying thewarning message, as shown in FIG. 11. Note that the example in which thepredetermined page is inserted at the position of the page immediatelybefore the original data having the spread attribute has been explained.However, if the failure of the spread is resolved by adding thepredetermined page at a position before the original data having thespread attribute, the predetermined page need not be inserted at theposition of the immediately preceding page.

<Other Embodiments>

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc(BD)TM), a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2018-129466, filed Jul. 6, 2018, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus comprising: afirst display unit configured to display a preview screen including apreview image based on page data included in book data; a setting unitconfigured to set a spread attribute for laying out one page dataincluded in the book data over a plurality of pages; and a display unitconfigured to display, if the page data set with the spread attributedoes not satisfy a spread condition, information indicating that thespread condition is not satisfied in association with a preview imagebased on the page data set with the spread attribute together with thepreview image based on the page data set with the spread attribute. 2.The apparatus according to claim 1, further comprising: an acceptanceunit configured to accept an instruction for print processing; and arestriction unit configured to restrict, if the instruction for theprint processing is accepted even though the page data set with thespread attribute does not satisfy the spread condition, execution of theprint processing.
 3. The apparatus according to claim 2, wherein therestriction unit restricts the execution of the print processing bymaking a notification that the spread condition is not satisfied.
 4. Theapparatus according to claim 2, wherein if the instruction for the printprocessing accepted by the acceptance unit is not a print executionstart instruction, the restriction unit restricts acceptance of theprint execution start instruction.
 5. The apparatus according to claim1, further comprising a change unit configured to change the number ofpages at a position before a page allocated with the page data havingthe spread attribute, wherein the change unit changes the number ofpages instead of display by the display unit.
 6. The apparatus accordingto claim 5, wherein the change unit changes the number of pages byadding a page.
 7. The apparatus according to claim 6, further comprisinga second display unit configured to display the page added by the changeunit.
 8. The apparatus according to claim 7, wherein the second displayunit displays the page added by the change unit to be editable.
 9. Theapparatus according to claim 1, further comprising a second control unitconfigured to cause a printing apparatus to perform print processingbased on the book data.
 10. The apparatus according to claim 1, whereinthe information indicating that the spread condition is not satisfied isdisplayed on the preview image based on the page data that has beendetermined not to satisfy the spread condition and has been set with thespread attribute.
 11. A system comprising an information processingapparatus and a printing apparatus, the information processing apparatuscomprising a first display unit configured to display a preview screenincluding a preview image based on page data included in book data, asetting unit configured to set a spread attribute for laying out onepage data included in the book data over a plurality of pages, and adisplay unit configured to display, if the page data set with the spreadattribute does not satisfy a spread condition, information indicatingthat the spread condition is not satisfied in association with a previewimage based on the page data set with the spread attribute together withthe preview image based on the page data set with the spread attribute,and the printing apparatus comprising a print unit configured to executeprint processing based on the book data.
 12. A display method executedin an information processing apparatus, comprising: displaying a previewscreen including a preview image based on page data included in bookdata; setting a spread attribute for laying out one page data includedin the book data over a plurality of pages; and displaying, if the pagedata set with the spread attribute does not satisfy a spread condition,information indicating that the spread condition is not satisfied inassociation with a preview image based on the page data set with thespread attribute together with the preview image based on the page dataset with the spread attribute.
 13. The method according to claim 12,further comprising: accepting an instruction for print processing; andrestricting, if the instruction for the print processing is acceptedeven though the page data set with the spread attribute does not satisfythe spread condition, execution of the print processing.
 14. The methodaccording to claim 13, wherein the execution of the print processing isrestricted by making a notification that the spread condition is notsatisfied.
 15. The method according to claim 13, wherein if the acceptedinstruction for the print processing is not a print execution startinstruction, acceptance of the print execution start instruction isrestricted.
 16. The method according to claim 12, further comprisingchanging the number of pages at a position before a page allocated withthe page data having the spread attribute.
 17. The method according toclaim 16, wherein the number of pages is changed by adding a page. 18.The method according to claim 12, wherein print processing based on thebook data is executed in a printing apparatus.
 19. The method accordingto claim 12, wherein the information indicating that the spreadcondition is not satisfied is displayed on the preview image based onthe page data that has been determined not to satisfy the spreadcondition and has been set with the spread attribute.
 20. Anon-transitory computer-readable storage medium storing a program forcausing a computer to: display a preview screen including a previewimage based on page data included in book data; set a spread attributefor laying out one page data included in the book data over a pluralityof pages; and display, if the page data set with the spread attributedoes not satisfy a spread condition, information indicating that thespread condition is not satisfied in association with a preview imagebased on the page data set with the spread attribute together with thepreview image based on the page data set with the spread attribute.